Skip to content

Conversation

@bastian-src
Copy link
Owner

This PR consists of several commits, accomplishing the following:

  • Update gradle build environment
  • Update ignored and included Android Studio build files
  • Fix the connected cell identification issue (compare commit message and similar issue)
  • Implement the estimated CA API endpoint

The main feature is the following new API endpoint:

curl -X GET http://<device IP>:7353/api/v1/celldata/estimate-ca/all
[
    {
        "nodeB": <nodeB>,
        "cid": <cid>,
        "pci": <pci>,
        "type": "LTE",
        "arfcn": <arfcn>,
        "band": "<band>",
        "rssi": -53,
        "rsrq": -7.0,
        "rsrp": -81.0,
        "estimatedDownBandwidth": 5726,
        "estimatedUpBandwidth": 5726
    },
    {
        "nodeB": null,
        "cid": null,
        "pci": <pci>,
        "type": "LTE",
        "arfcn": <arfcn>,
        "band": "<band>",
        "rssi": -57,
        "rsrq": -7.0,
        "rsrp": -84.0,
        "estimatedDownBandwidth": null,
        "estimatedUpBandwidth": null
    }
]

We estimate a possible CA cell by taking the cell with the best RSRQ value of all available cells. The API endpoint returns the current primary cell and the estimated CA cell.

* targetCompatibility: JVM 11
* JavaLanguageVersion: 17
* Gradle: 8.7.1

Update ignored and included Android Studio/IntelliJ files

* Add .idea/deploymentTargetSelector as git file
* Set .idea/runConfigurations.xml as ignored file
* Add Carrier Aggregation cell list to model
* Add Carrier Aggregation cells API endpoints:
  * /estimate-ca/all    : returns a list of estimated Carrier Aggregation cells
    - if more than 1 cells have the status connected, return them all as Carrier Aggregation cells
    - if only a single cell is connected, take the best-RSRQ cell from the available cells (CA estimation)
  * /estimate-ca/{id}   : returns the cell information of a single cell
We ran into an issue that all available cells are not of type
"NoneConnection" (available, but not connected), but of type
"SecondaryConnection" which made the being identified as
connected.

Fix this by checking for "PrimaryConnection" type instead
of checking for "not NoneConnection".

A similar issue war reported to netmonster-core before:

mroczis/netmonster-core#53
@bastian-src bastian-src force-pushed the feature/add_api_guess_ca branch from 46dd8c8 to 89fa727 Compare January 30, 2025 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants